/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.ufrn.cerescaico.sepe.beans;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 *
 * @author Taciano
 */
@Entity
@Table(name = "area")
public class Area implements Bean, Serializable {

    public static Area EDUCACAO = new Area(1, "Educação");
    public static Area HISTORIA = new Area(2, "História");;
    public static Area GEOGRAFIA  = new Area(3, "Geografia");
    public static Area SISTEMAS_INFORMACAO  = new Area(4, "Sistemas de Informação");
    public static Area MATEMATICA  = new Area(5, "Matemática");
    public static Area LETRAS  = new Area(6, "Letras");
    public static Area CIENCIAS_CONTABEIS  = new Area(7, "Ciências Contábeis");
    public static Area TURISMO  = new Area(8, "Turismo");
    public static Area ADMINISTRACAO  = new Area(9, "Administração");
    public static Area DIREITO  = new Area(10, "Direito");
    public static Area AREA_AFIM  = new Area(11, "Outras áreas afins do evento");

    @Id
    @Column(name = "id")
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Integer id;

    @Column(name = "nome", length = 255, nullable = false)
    private String nome;

    public Area() {
    }

    private Area(int id, String nome) {
        this.id = id;
        this.nome = nome;
    }

    @Override
    public Integer getId() {
        return this.id;
    }

    @Override
    public void setId(Integer id) {
        this.id = id;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    @Override
    public int compareTo(Object o) {
        Area c = (Area)o;
        return c.id = this.id;
    }

}
